package com.fofia.iotweb.framework.auth;

import org.noear.solon.annotation.Bean;
import org.noear.solon.annotation.Configuration;
import org.noear.solon.auth.AuthAdapter;

@Configuration
public class AuthConfig {
    @Bean
    public AuthAdapter adapter() {
        return new AuthAdapter()
                .loginUrl("/login") //设定登录地址，未登录时自动跳转
                .addRule(r -> r.include("**").verifyIp().failure((c, t) -> c.output("你的IP不在白名单"))) //添加规则
                .addRule(b -> b.exclude("/login**").exclude("/ui/**").exclude("/favicon.ico")
                        .exclude("/GatewayApi/**").exclude("/ruminate/**").exclude("/smartTag/**").verifyPath()) //添加规则
                .processor(new AuthProcessorImpl()) ;//设定认证处理器
//                .failure((ctx, rst) -> {
//                    ctx.render(rst);  //设定默认的验证失败处理；也可以用过滤器捕促异常
//                });
    }
}
